@邪恶贝壳
2年前 提问
1个回答

设计分布式文件系统时需要解决哪些问题

Andrew
2年前

设计分布式文件系统时需要解决以下问题:

  • 数据冗余:在分布式文件系统中,需要为每个文件保留多个复本在系统中的多个存储节点上,这有助于分担服务器的负载,也有助于改善系统的可扩展性和可用性。

  • 软/硬件异构:分布式文件系统中的各个节点经由网络互连,而这些节点往往是由大量不同的软/硬件环境所构成。因此,文件系统的设计要能够从容地应对这种异构性,其中最常用的方法是利用平台无关的语言开发一个协议,然后在各个异构平台中以软件方式实现这个协议,从而屏蔽各种异构存储之间的差异。

  • 一致性:分布式文件系统需要提供一种机制来确保被多个用户和进程访问的文件的内容一致性,这可以通过由文件系统提供一种扩散机制将文件的改动发布给所有正在访问该文件的用户来实现。这种机制有些类似于透明的文件复制,但是它也有自己的风险,例如网络延迟可能会导致文件内容不一致。

  • 安全性:分布式文件系统的安全设计可以被划分为三大类。第一是机密性,保证信息只能够被经过授权的用户或进程访问;第二是完整性,保护信息能够不因未经批准的改动操作而改变;第三是可用性,确保用户能够在需要的时候随时访问数据。

  • 高效性:分布式文件系统应该和一般常用的文件系统具有同样的性能,或者至少从用户的角度看,其性能不会成为令他们考虑究竟是把文件保存在远程还是本地存储设备中的主要原因。